/**
 * gulp 构建配置
 * @author flh0909@qq.com
 * @create 15/11/21.
 */


// 引入 gulp及组件
var gulp = require('gulp'),                 //基础库
    minifycss = require('gulp-minify-css'),    //css压缩
    uglify = require('gulp-uglify'),          //js压缩
    concat = require('gulp-concat'),          //合并文件
    rename = require('gulp-rename'),           //重命名
    clean = require('gulp-clean'),             //清空文件夹
    autoprefixer = require('gulp-autoprefixer'),
    tinypng = require('gulp-tinypng');

var fs = require('fs');


gulp.task('icon', function () {
    fs.readdir('E:/project/meme/www.imeme.tv/src/styles/v2/images/expression/meme/', function (err, files) {
        var iconFile='./src/scripts/icon.js';
        for (var i = 0, len = files.length; i < len; i++) {
            var item = files[i];
            fs.appendFile(iconFile, '\''+item+'\',', function (err) {

            });
        }

    })
});

gulp.task('images', function () {
    fs.readdir('./src/styles/images/', function (err, files) {

        var imagesFile='./src/scripts/images.js';
        fs.writeFile(imagesFile, 'var IMAGES={\r\n"loading.jpg":"/styles/images/loading.jpg",\r\n', function (err) {
        });

        for (var i = 0, len = files.length; i < len; i++) {
            var item = files[i];
            fs.appendFile(imagesFile, '"'+item+'":"/styles/images/'+item+'"'+(i==len-1?'':',\r\n'), function (err) {

            });
        }
        fs.appendFile(imagesFile, '\r\n};', function (err) {
        });
    });

    //gulp.src('./src/styles/images/', {read: false})
    //    .pipe()


});

gulp.task('tinypng', function () {
    gulp.src('./src/styles/images/*.png')
        .pipe(tinypng('Ptkl_QlOVOVjHLEpCqJ1WZGCQeegsTg5'))
        .pipe(gulp.dest('./src/styles/images_compressed/'));
});


gulp.task('css', function () {
    gulp.src('./src/styles/main*.css')
        .pipe(autoprefixer({
            browsers: ['Last 5 versions'],
            cascade: true, //是否美化属性值 默认：true 像这样：
            //-webkit-transform: rotate(45deg);
            //        transform: rotate(45deg);
            remove:true //是否去掉不必要的前缀 默认：true
        }))
        .pipe(concat('lib.css'))
        .pipe(rename({ suffix: '.min' }))
        .pipe(minifycss())
        .pipe(gulp.dest('./src/styles/'));
});



gulp.task('zepto', function () {
    gulp.src('./src/scripts/src/*.js')
        .pipe(concat('zepto.min.js'))
        .pipe(uglify())
        .pipe(gulp.dest('./src/scripts/src/'));
});


var rev=require('gulp-rev');
gulp.task('rev', function () {
    return gulp.src('./src/styles/*.css')
        .pipe(rev())
        .pipe(rev.manifest({merge:true}))
        .pipe(gulp.dest('dist'));
})

//// HTML处理
//gulp.task('html', function() {
//    var htmlSrc = './src/*.html',
//        htmlDst = './dist/';
//
//    gulp.src(htmlSrc)
//        .pipe(livereload(server))
//        .pipe(gulp.dest(htmlDst))
//});
//
//
//gulp.task('acss', function () {
//    gulp.src('./src/css/*.css')
//        .pipe(autoprefixer({
//            browsers: ['Last 5 versions'],
//            cascade: true, //是否美化属性值 默认：true 像这样：
//            //-webkit-transform: rotate(45deg);
//            //        transform: rotate(45deg);
//            remove:true //是否去掉不必要的前缀 默认：true
//        }))
//        .pipe(concat('main.css'))
//        //.pipe(minifycss())
//        .pipe(gulp.dest('./dist/css'));
//})
//
//
//// 样式处理
//gulp.task('css', function () {
//    var cssSrc = ['./src/css/*.css'],
//        cssDst = './dist/css';
//
//    gulp.src(cssSrc)
//        //.pipe(sass({ style: 'expanded'}))
//        .pipe(gulp.dest(cssDst))
//        .pipe(concat('main.css'))
//        //.pipe(rename({ suffix: '.min' }))
//        .pipe(minifycss())
//        .pipe(livereload(server))
//        .pipe(gulp.dest(cssDst));
//});
//// 图片处理
//gulp.task('images', function(){
//    var imgSrc = './src/images/**/*',
//        imgDst = './dist/images';
//    gulp.src(imgSrc)
//        .pipe(imagemin())
//        .pipe(livereload(server))
//        .pipe(gulp.dest(imgDst));
//})
//
//// js处理
//gulp.task('js', function () {
//    var jsSrc = './src/js/*.js',
//        jsDst ='./dist/js';
//
//    gulp.src(jsSrc)
//        //.pipe(jshint('.jshintrc'))
//        .pipe(jshint.reporter('default'))
//        .pipe(concat('main.js'))
//        .pipe(gulp.dest(jsDst))
//        //.pipe(rename({ suffix: '.min' }))
//        .pipe(uglify())
//        .pipe(livereload(server))
//        .pipe(gulp.dest(jsDst));
//});
//
//// 清空图片、样式、js
//gulp.task('clean', function() {
//    gulp.src(['./dist/css', './dist/js', './dist/images'], {read: false})
//        .pipe(clean());
//});
//
//// 默认任务 清空图片、样式、js并重建 运行语句 gulp
//gulp.task('default', ['clean'], function(){
//    gulp.start('html','css','images','js');
//});
